#ifndef COMMANDS_COMMAND_H_
#define COMMANDS_COMMAND_H_

#include <sstream>

// typy wiadomosci sieciowych (do serialize)
#include "../Network/UDPIO.h"

namespace GameLogic {
	class Simulation;
}

namespace Commands {

enum CommandTypes { ctBegin, ctEnd };

class Command {
protected:
	static const char SEPARATOR;
public:

	Command() {};
	virtual ~Command() {};

	virtual void execute( GameLogic::Simulation* ) = 0;

	virtual void serialize( std::ostringstream& ) = 0;

};

} //namespace Commands

#endif /* COMMANDS_COMMAND_H_ */
